package com.frank.subject.infra.basic.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.frank.common.entity.PageInfo;
import com.frank.subject.infra.basic.entity.SubjectInfo;

/**
 * 题目信息表(SubjectInfo)表服务接口
 *
 * @author makejava
 * @since 2024-01-23 17:20:39
 */
public interface SubjectInfoService extends IService<SubjectInfo> {

    Page<SubjectInfo> queryPage(SubjectInfo subjectInfo, PageInfo pageInfo, Long labelId, Long categoryId);

    /**
     * 根据 CategoryId，LabelId，SubjectId，以及 Cursor 查询 Subject Info
     *
     * @param subjectId  题目ID
     * @param categoryId 分类ID
     * @param labelId    标签ID
     * @param cursor     游标
     * @return 题目ID
     */
    Long querySubjectIdByCursor(Long subjectId, Long categoryId, Long labelId, int cursor);
}
